(function(modules){
    const installedMoudels = {}; // 缓存加载过的模块
    function require(moduleId) {

        if(installedMoudels[moduleId]) {
            return installedMoudels[moduleId] // 已经缓存过了就直接返回
        }

        const module = {
            exports: {},
            l: false,
            i: moduleId
        }
        
        installedMoudels[module] = module;
        module.l = true;
        modules[moduleId].call(module.exports, module, require);
        return module.exports;
    }

    return require(0) // 调用第一个函数
})(
    [
        function(module, require) {
            let a = 1;
            let b = require(1);

            console.log(b)
        },
        function(module, require) {
            var b = 2233
            module.exports = b
        }
    ]
)

// (function(modules){
//     function require() {

//     }
//     require(0)
// })([

// ])